#列表
#列表是由一系列按特定顺序排列的元素组成，用[]表示列表其中的元素用,分开
from os import remove

#访问列表元素
#要访问列表元素可指定列表名称，然后指出元素索引，比如 name[0]
#元素索引从0开始不是1开始,访问最后一个元素索引-1，倒数第二个元素索引-2，以此类推
names = ["peter","care","brown"]
print(names[0])
print(names[-1])
#使用列表中的各个值
massage = f"my name is {names[2]}"
print(massage)
#修改,添加,删除元素
#修改元素，指定列表名和要修改的元素索引，再指定该索引上的新值
English_names = ["john","ben","dive"]
print(English_names)
English_names[0] = "peter"
print(English_names)
#添加元素
#尾插 append()方法是将元素插入列表末尾且不影响其他元素
fruits = []
fruits.append("apple")
fruits.append("banana")
fruits.append("orange")
print(fruits)
#使用insert()方法可以在列表任意位置插入元素，需指定新元素的索引和值
fruits.insert(1,"peach")#在第二个位置插入元素peach
print(fruits)

#删除元素
#使用del语句删除元素  del 列表名[索引]
del fruits[0]  #删除了第一个元素apple
print(fruits)

#使用pop()方法删除元素
#pop()方法可以删除列表末尾元素，并可以接着使用被删除元素的值
cars = ["honda","auto","mini","aodi"]
print(cars)
popped_cars = cars.pop()
print(popped_cars)
print(cars)
#pop()方法删除列表中任意位置的元素，在括号中指定要删除元素的索引即可
second_popped_cars = cars.pop(2)
print(second_popped_cars)

#使用del还是pop  如果你删除一个元素后且不再使用它用del，删除元素后仍要继续使用用pop()

#根据值删除元素 remove()方法 比如 remove(值) remove只删除第一个指定的值，如果出新多次，则需要使用循环

games = ['lol','cf','dota','cs','lol']
newgame ='lol'
games.remove(newgame)
print(games)

#使用sort()方法对列表进行永久排序  可以永久修改列表中元素排列顺序 按字母顺序排列 反向排序需要传递参数reverse = True
cars.sort()
print(cars)
games.sort(reverse=True)
print(games)

#使用sorted()函数对列表进行临时排序  注：调用sorted()函数后，列表实际顺序并未改变 若要反向排序也可传递参数reverse = True
words = ['a','c','g','b']
print(words)
print(sorted(words))
print(words)

#反向打印列表 可以使用reverse()方法 是对现在列表顺序进行反转 而非按首字母排列进行反转 可永久修改排列顺序
words.reverse()
print(words)

#确定列表长度 使用len()函数
print(len(words))
